#include<iostream>
using namespace std;
int main() {
    /*本题需要计算斐波那契数列第n项的二进制表示中0的数量。比如第5项是5，0的个数是1；
    第6项是8，0的个数是3。

输入格式:
一行包含一个正整数n(​1≤n≤45)。

输出格式:
输出第n项斐波那契数和一个整数表示斐波那契数列第n项的二进制表示中包含0的个数*/
    int n;
    cin >> n;
    if (n == 1 || n == 2) {//斐波那契数列表示方法
        cout << 1 << endl;//n=1和n=2单独表示
    }
    else {
        int a = 1;
        int b = 1;
        for (int i = 3; i <= n; i++) {//从第三项开始
            int c;
            c = a + b;//a是前一项，b是后一项，依次往后递归
            a = b;
            b = c;
        }
        cout << b << endl;//    斐波那契数列表示结束
        int count = 0;
        int temp = b;//储存一个中间变量，避免斐波那契值改变
        while (temp >0) {
            
          
            if (temp % 2 == 0) {
                count++;
            }
            temp = temp / 2;
        }
        cout << count;
    }

    
    return 0;
}